package View.CidadeView;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JPanel;

import Controller.CidadeController.CidadeConsultaController;
import Entidade.Cidade;
import Model.CidadeModel.CidadeConsultaModel;
import framework.component.table.TTable;
import framework.mvc.GenericView;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class CidadeConsultaView extends GenericView<Cidade> {

	private static final long serialVersionUID = 4446737983815390327L;
	private JPanel panel;
	private JButton btnNovo;
	private JButton btnAlterar;
	private JButton btnExcluir;
	private JButton btnFechar;
	private TTable table;
	private JButton btnSeecionar;

	public CidadeConsultaView() {
		super(new CidadeConsultaController());
		setTitle("Fox Empresarial - Gerenciamento de Cidades");
		setSize(new Dimension(1000, 450));

		panel = new JPanel();
		panel.setFont(new Font("Verdana", Font.PLAIN, 11));
		getContentPane().add(panel, BorderLayout.NORTH);
		panel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));

		btnNovo = new JButton("Novo");
		btnNovo.setName("novo");
		panel.add(btnNovo);

		btnAlterar = new JButton("Alterar");
		btnAlterar.setName("alterar");
		panel.add(btnAlterar);

		btnExcluir = new JButton("Excluir");
		btnExcluir.setName("excluir");
		panel.add(btnExcluir);

		btnFechar = new JButton("Fechar");
		btnFechar.setName("fechar");
		panel.add(btnFechar);

		btnSeecionar = new JButton("Selecionar");
		btnSeecionar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {

			}
		});
		btnSeecionar.setName("selecionar");
		panel.add(btnSeecionar);

		table = new TTable(Cidade.class);
		table.setFont(new Font("Verdana", Font.PLAIN, 11));
		table.getScrollPane().setFont(new Font("Verdana", Font.PLAIN, 11));
		getContentPane().add(table, BorderLayout.CENTER);

		atualizarView();
	}

	@Override
	public void atualizarView() {
		super.atualizarView();
		table.setDados(getDAO().listar());
	}

	@Override
	public void atualizarModel() {
		super.atualizarModel();
		CidadeConsultaModel model = (CidadeConsultaModel) getModel();
		model.setCidadeSelecionado((Cidade) table.getSelecionado());
	}
}
